package com.powernode.crm.activity.mapper;

import com.powernode.crm.activity.model.Activity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ActivityMapper {
    int deleteByPrimaryKey(String id);

    int insert(Activity record);

    int insertSelective(Activity record);

    Activity selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(Activity record);

    int updateByPrimaryKey(Activity record);

    /*
    * 根据id获取 活动信息  包含：所有者、创建者、修改者
    * */

    Activity selectById(String id);


    /**
     * @param name  活动名称
     * @param owner 所有者姓名
     * @param startDate 活动开始时间
     * @param endDate   活动结束时间
     * @param pageNum   页码
     * @param pageSize  每页行数
     * @return      活动集合
     */
    List<Activity> selectPage(@Param("name") String name,
                              @Param("owner") String owner,
                              @Param("startDate")String startDate,
                              @Param("endDate")String endDate,
                              @Param("pageNum") Integer pageNum,
                              @Param("pageSize") Integer pageSize);


    /*总行数*/
    Integer selectListCount(@Param("name") String name,
                            @Param("owner") String owner,
                            @Param("startDate")String startDate,
                            @Param("endDate")String endDate);

    int deleteByIds(String[] ids);

    int insertActivityList(List<Activity> activities);

    List<Activity> selectAll();

    List<Activity> selectByIds(String[] ids);

    List<Activity> selectByName(@Param("name") String name);
}